list-[id].vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823
  1. <template>
  2. <div id="newsList">
  3. <!-- 页面头部 -->
  4. <HomePageHead></HomePageHead>
  5. <!-- 页面导航 -->
  6. <HomePageNavigation></HomePageNavigation>
  7. <!-- 广告1 -->
  8. <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
  9. <!-- 二级导航列表 -->
  10. <div class="nav2top" v-if="parent_name != ''"></div>
  11. <div class="nav2" v-if="parent_name != ''">
  12. <ul class="inner">
  13. <li class="home">
  14. <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }}</NuxtLink>
  15. </li>
  16. <li class="titleList" v-for="(item, index) in secondNav" :key="index">
  17. <NuxtLink :to="{ path: `/${item.aLIas_pinyin}/list-1.html` }">
  18. <span class="nav2_title">{{ item.alias }}</span>
  19. </NuxtLink>
  20. </li>
  21. </ul>
  22. </div>
  23. <div class="nav2btm" v-if="parent_name != ''"></div>
  24. <!-- 面包屑导航 -->
  25. <div class="breadcrumb">
  26. <div class="inner">
  27. <span class="location">当前位置:</span>
  28. <el-breadcrumb :separator-icon="ArrowRight">
  29. <el-breadcrumb-item>
  30. <NuxtLink to="/">首页</NuxtLink>
  31. </el-breadcrumb-item>
  32. <el-breadcrumb-item v-if="parent_name != ''">
  33. <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }}</NuxtLink>
  34. </el-breadcrumb-item>
  35. <el-breadcrumb-item>{{ name }}</el-breadcrumb-item>
  36. </el-breadcrumb>
  37. </div>
  38. </div>
  39. <!-- 资讯列表 -->
  40. <div class="newsList">
  41. <div class="inner">
  42. <div class="innerLeft">
  43. <ul class="list">
  44. <li v-for="(item, index) in newsList" :key="index">
  45. <NuxtLink :href="getLinkPathDetail(item)" :title="item.alias">
  46. <span class="listTitle">{{ item.title }}</span>
  47. <span class="time">{{ getTime(item.updated_at, 'month', 1) }}</span>
  48. </NuxtLink>
  49. </li>
  50. </ul>
  51. <!-- 分页器 -->
  52. <div class="pagination" v-if="total">
  53. <el-pagination size="small" background layout="prev, pager, next" :total="total" class="mt-4"
  54. v-model:page-size="pageSize" prev-text="上一页" next-text="下一页" @change="changePage" />
  55. </div>
  56. </div>
  57. <div class="innerRight">
  58. <DetailHotNews></DetailHotNews>
  59. <DetailHotNews2></DetailHotNews2>
  60. </div>
  61. </div>
  62. </div>
  63. <!-- 列表页广告二 -->
  64. <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
  65. <!-- 页面底部 -->
  66. <HomeFoot1></HomeFoot1>
  67. </div>
  68. </template>
  69. <script setup>
  70. import { onMounted } from 'vue';
  71. import { ElBreadcrumb, ElBreadcrumbItem, ElPagination, ElMessage } from 'element-plus'
  72. import { ArrowRight } from '@element-plus/icons-vue'
  73. // const nuxtApp = useNuxtApp();
  74. // const axios = nuxtApp.$axios;
  75. //1.获得路由id start ---------------------------------------->
  76. const route = useRoute();
  77. let articleId = 0;//路由id
  78. let pageNum = ref(2);
  79. let total = ref(1);
  80. let pageSize = ref(20);
  81. //获得当前的完整路径
  82. const fullPath = route.path;
  83. //拆分,取出来中间这一段,然后提取数字部分
  84. const segments = fullPath.split('/');
  85. const targetSegment = segments[1];
  86. //const numberPart = targetSegment.match(/\d+$/)?.[0];
  87. //let routeId = 20 //排除路径错误可以打开这个
  88. //通过导航路径反向查询导航id
  89. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  90. method: 'GET',
  91. query: {
  92. 'pinyin': targetSegment,
  93. },
  94. });
  95. if(getRouteId.code == 200){
  96. articleId = getRouteId.data.category_id
  97. }else{
  98. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  99. console.log("错误位置:通过url路径查询导航池id")
  100. console.log("后端错误反馈:",getRouteId.message)
  101. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  102. }
  103. //获得html前的数字
  104. // const pageUrl = segments[2];
  105. // const pageNumber = pageUrl.split('.')[0];
  106. // console.log("当前URL中的页码:")
  107. // console.log(pageNumber)//2
  108. // pageNum.value = parseInt(pageNumber);
  109. pageNum.value = parseInt(route.params.id);
  110. //1.获得路由id end ---------------------------------------->
  111. //2.页面数据 start ---------------------------------------->
  112. //2.2新闻列表
  113. const newsList = ref([]);
  114. let newslists = async () => {
  115. const listData = await requestDataPromise('/web/getWebsiteArticleList', {
  116. method: 'GET',
  117. query: {
  118. 'page': page.value,
  119. 'pageSize': pageSize.value,
  120. 'catid': articleId
  121. },
  122. });
  123. if (listData.code == 200) {
  124. newsList.value = listData.data.rows;
  125. total.value = listData.data.count;
  126. console.log('news111111', newsList.value);
  127. } else {
  128. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  129. console.log("错误位置:获取新闻列表")
  130. console.log("后端错误反馈1111:", listData.message)
  131. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  132. }
  133. }
  134. //获得列表
  135. newslists();
  136. //分页事件
  137. let changePage = (value) => {
  138. console.log("当前页码", value);
  139. page.value = value
  140. //判断是否为真路径
  141. // if (route.meta.isAlias) {
  142. // navigateTo(`${route.meta.path}${page.value}.html`)
  143. // } else {
  144. // navigateTo(`/newsList/${articleId}?page=${page.value}`)
  145. // }
  146. newslists();
  147. }
  148. //2.3获得页面名称
  149. const name = ref('')
  150. let getPageName = async () => {
  151. const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
  152. method: 'GET',
  153. query: {
  154. 'catid': articleId
  155. },
  156. });
  157. if (pageName.code == 200) {
  158. name.value = pageName.data.alias
  159. } else {
  160. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  161. console.log("错误位置:设置页面标题")
  162. console.log("后端错误反馈:", pageName.message)
  163. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  164. }
  165. }
  166. //获得列表
  167. getPageName();
  168. //2.页面数据 end ---------------------------------------->
  169. //3.二级栏目 start ---------------------------------------->
  170. //3.1通过id获取父栏目
  171. const parent_name = ref([]);
  172. const parent_id = ref([]);
  173. const parent_pinyin = ref("");
  174. let getParentNav = async () => {
  175. const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
  176. method: 'GET',
  177. query: {
  178. 'catid': articleId
  179. },
  180. });
  181. if (listData.code == 200) {
  182. // console.log(111999)
  183. // console.log(listData.data);
  184. parent_name.value = listData.data.parent_name;
  185. parent_id.value = listData.data.parent_id;
  186. parent_pinyin.value = listData.data.parent_pinyin;
  187. } else {
  188. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  189. console.log("错误位置:获取新闻列表")
  190. console.log("后端错误反馈:", listData.message)
  191. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  192. }
  193. getSecondNav();
  194. }
  195. //获得父级栏目详情
  196. getParentNav();
  197. // 3.2获取二级栏目
  198. const secondNav = ref([]);
  199. let getSecondNav = async () => {
  200. const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
  201. method: 'GET',
  202. query: {
  203. 'placeid': 1,
  204. 'pid': parent_id.value,
  205. 'num': 8,
  206. },
  207. });
  208. console.log('listData', listData);
  209. // secondNav.value = listData.data;
  210. if (listData.code == 200) {
  211. secondNav.value = listData.data;
  212. console.log('secondNav', secondNav.value);
  213. } else {
  214. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  215. console.log("错误位置:获取新闻列表")
  216. console.log("后端错误反馈:", listData.message)
  217. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  218. }
  219. }
  220. //3.二级栏目 end ---------------------------------------->
  221. //4.设置seo信息 start---------------------------------------->
  222. //4.1 设置seo信息
  223. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  224. method: 'GET',
  225. query: {
  226. 'catid': articleId
  227. },
  228. });
  229. if (setData.code == 200) {
  230. let seoTitle = setData.data.seo_title;
  231. let seoDescription = setData.data.seo_description;
  232. let seoKeywords = setData.data.seo_keywords;
  233. let seoSuffix = setData.data.suffix;
  234. let seoName = setData.data.website_name;
  235. useSeoMeta({
  236. title: seoTitle + "_" + seoName + "_" + seoSuffix,
  237. meta: [
  238. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  239. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  240. ]
  241. });
  242. } else {
  243. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  244. console.log("错误位置:设置列表页面SEO数据")
  245. console.log("后端错误反馈:", setData.message)
  246. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  247. }
  248. //4.设置seo信息 end---------------------------------------->
  249. //5.广告 start---------------------------------------->
  250. let adImg1 = ref({});
  251. let adImg2 = ref({});
  252. onMounted(async () => {
  253. //从客户端获取行政职能部门 加快打开速度
  254. const { $webUrl, $CwebUrl } = useNuxtApp();
  255. //广告1
  256. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_list_0001`
  257. const responseAd1 = await fetch(url, {
  258. headers: {
  259. 'Content-Type': 'application/json',
  260. 'Userurl': $CwebUrl,
  261. 'Origin': $CwebUrl
  262. }
  263. });
  264. const resultAd1 = await responseAd1.json();
  265. adImg1.value = resultAd1.data[0];
  266. console.log('adImg1', adImg1.value);
  267. //广告2
  268. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_list_0002`
  269. const responseAd2 = await fetch(url2, {
  270. headers: {
  271. 'Content-Type': 'application/json',
  272. 'Userurl': $CwebUrl,
  273. 'Origin': $CwebUrl
  274. }
  275. });
  276. const resultAd2 = await responseAd2.json();
  277. adImg2.value = resultAd2.data[0];
  278. })
  279. //5.广告 end---------------------------------------->
  280. </script>
  281. <style lang="less" scoped>
  282. #newsList {
  283. width: 100%;
  284. overflow: hidden;
  285. }
  286. .nav2top {
  287. width: 1250px;
  288. height: 3px;
  289. margin: 0 auto;
  290. background-color: #a01c0e;
  291. }
  292. .nav2btm {
  293. width: 1200px;
  294. height: 3px;
  295. margin: 0 auto;
  296. background-color: #a01c0e;
  297. }
  298. .nav2 {
  299. width: 100%;
  300. height: 48px;
  301. background-color: #a01c0e;
  302. .inner {
  303. width: 1250px;
  304. height: 48px;
  305. line-height: 48px;
  306. padding: 0 45px;
  307. margin: 0 auto;
  308. box-sizing: border-box;
  309. display: flex;
  310. // justify-content: space-between;
  311. .titleList {
  312. font-family: Microsoft YaHei, Microsoft YaHei;
  313. font-weight: bold;
  314. font-size: 14px;
  315. color: #FFFFFF;
  316. .nav2_title {
  317. display: inline-block;
  318. font-family: Microsoft YaHei, Microsoft YaHei;
  319. font-weight: bold;
  320. font-size: 14px;
  321. color: #FFFFFF;
  322. }
  323. a {
  324. padding: 0 38px;
  325. color: #FFFFFF;
  326. border-left: 1px solid #7E1C11;
  327. }
  328. //鼠标点击后的样式
  329. .nav2_title_active {
  330. display: inline-block;
  331. font-family: Microsoft YaHei, Microsoft YaHei;
  332. font-weight: bold;
  333. font-size: 14px;
  334. color: #FFFFFF;
  335. border-bottom: 1px solid #FFFFFF;
  336. }
  337. }
  338. .titleList:hover {
  339. a {
  340. color: #a01c0e;
  341. .nav2_title {
  342. border-bottom: 1px solid #FFFFFF;
  343. }
  344. }
  345. }
  346. .home {
  347. width: 100px;
  348. font-family: Microsoft YaHei, Microsoft YaHei;
  349. font-weight: bold;
  350. font-size: 14px;
  351. color: #F8ECD2;
  352. a {
  353. color: #F8ECD2;
  354. margin-right: 39px;
  355. }
  356. }
  357. }
  358. }
  359. //导航条
  360. .breadcrumb {
  361. width: 100%;
  362. height: 22px;
  363. margin-bottom: 30px;
  364. font-family: Microsoft YaHei, Microsoft YaHei;
  365. font-weight: 400;
  366. font-size: 20px;
  367. color: #666666;
  368. line-height: 23px;
  369. text-align: left;
  370. font-style: normal;
  371. text-transform: none;
  372. margin-top: 40px;
  373. :deep(.el-breadcrumb) {
  374. display: inline-block;
  375. vertical-align: -4px;
  376. }
  377. :deep(.el-breadcrumb__inner a),
  378. :deep(.el-breadcrumb__inner.is-link) {
  379. color: #666666;
  380. font-weight: 400;
  381. text-decoration: none;
  382. transition: var(--el-transition-color);
  383. }
  384. span {
  385. font-family: Microsoft YaHei, Microsoft YaHei;
  386. font-weight: 400;
  387. font-size: 20px;
  388. color: #666666;
  389. line-height: 23px;
  390. text-align: left;
  391. font-style: normal;
  392. text-transform: none;
  393. }
  394. span:hover {
  395. color: #666666;
  396. }
  397. .location {
  398. margin-right: 20px;
  399. width: 100px;
  400. height: 22px;
  401. font-family: Microsoft YaHei, Microsoft YaHei;
  402. font-weight: 400;
  403. font-size: 20px;
  404. color: #666666;
  405. line-height: 23px;
  406. text-align: left;
  407. font-style: normal;
  408. text-transform: none;
  409. }
  410. }
  411. // 资讯列表
  412. .newsList {
  413. width: 100%;
  414. // height: 675px;
  415. overflow: hidden;
  416. margin-bottom: 70px;
  417. .inner {
  418. width: 1200px;
  419. .innerLeft,
  420. .innerRight {
  421. border-top: 1px solid #ccc;
  422. }
  423. .innerLeft {
  424. width: 820px;
  425. margin-right: 30px;
  426. .list {
  427. margin-bottom: 70px;
  428. li {
  429. width: 820px;
  430. padding: 15px 0;
  431. a {
  432. display: flex;
  433. justify-content: space-between;
  434. }
  435. .listTitle {
  436. // float: left;
  437. display: inline-block;
  438. width: 486px;
  439. white-space: nowrap;
  440. overflow: hidden;
  441. text-overflow: ellipsis;
  442. font-family: Microsoft YaHei, Microsoft YaHei;
  443. font-weight: 400;
  444. font-size: 20px;
  445. color: #333333;
  446. text-align: left;
  447. font-style: normal;
  448. text-transform: none;
  449. }
  450. .time {
  451. // float: right;
  452. font-family: Microsoft YaHei, Microsoft YaHei;
  453. font-weight: 400;
  454. font-size: 18px;
  455. color: #333333;
  456. }
  457. }
  458. >li:hover .listTitle {
  459. color: #a01c0e;
  460. }
  461. >li:nth-child(5n) {
  462. border-bottom: 1px solid #D9D9D9;
  463. padding-bottom: 30px;
  464. }
  465. >li:nth-child(5n+1) {
  466. span {
  467. font-weight: bold;
  468. }
  469. font-weight: bold;
  470. padding-top: 30px;
  471. }
  472. }
  473. >.pagination {
  474. width: 800px;
  475. height: 34px;
  476. margin-left: 141px;
  477. display: flex;
  478. justify-content: center;
  479. margin: 0;
  480. // 鼠标移入后字体颜色
  481. .el-pagination::v-deep :hover {
  482. color: #a01c0e;
  483. }
  484. .el-pagination.is-background::v-deep .btn-next,
  485. .el-pagination.is-background::v-deep .btn-prev {
  486. width: 70px;
  487. height: 34px;
  488. margin: 0px 10px;
  489. border-radius: 4px;
  490. }
  491. .el-pagination.is-background::v-deep .el-pager li {
  492. margin: 0px 10px;
  493. width: 38px;
  494. height: 34px;
  495. border-radius: 4px;
  496. }
  497. .el-pagination.is-background::v-deep .btn-next.is-active,
  498. .el-pagination.is-background::v-deep .btn-prev.is-active,
  499. .el-pagination.is-background::v-deep .el-pager li.is-active {
  500. background-color: #a01c0e;
  501. color: #fff;
  502. }
  503. }
  504. }
  505. .innerRight {
  506. width: 350px;
  507. height: 1242px;
  508. border-bottom: 1px solid #ccc;
  509. // height: 605px;
  510. }
  511. }
  512. }
  513. //资讯推荐
  514. .zixuntuijian {
  515. width: 100%;
  516. height: 290px;
  517. margin-bottom: 70px;
  518. .innerLeft {
  519. // 左侧
  520. .zixunLeft {
  521. margin-right: 30px;
  522. }
  523. .zixunRight,
  524. .zixunLeft {
  525. float: left;
  526. width: 380px;
  527. height: 290px;
  528. // 标题部分
  529. >.title {
  530. width: 380px;
  531. }
  532. >.title>h3 {
  533. height: 36px;
  534. font-family: Source Han Sans, Source Han Sans;
  535. font-weight: bold;
  536. font-size: 24px;
  537. color: #000000;
  538. line-height: 28px;
  539. text-align: left;
  540. font-style: normal;
  541. text-transform: none;
  542. border-bottom: 1px solid #a01c0e;
  543. }
  544. >.title>h3>span {
  545. float: right;
  546. width: 56px;
  547. height: 20px;
  548. line-height: 24px;
  549. font-weight: 400;
  550. font-size: 14px;
  551. color: #999999;
  552. font-style: normal;
  553. text-transform: none;
  554. }
  555. .photo_text {
  556. >li:first-child {
  557. width: 380px;
  558. height: 120px;
  559. margin-top: 20px;
  560. margin-bottom: 15px;
  561. position: relative;
  562. >img {
  563. float: left;
  564. width: 160px;
  565. height: 120px;
  566. }
  567. >div {
  568. float: left;
  569. width: 220px;
  570. height: 120px;
  571. padding-left: 15px;
  572. padding-top: 6px;
  573. box-sizing: border-box;
  574. background-color: #f6f6f6;
  575. >h5 {
  576. width: 200px;
  577. height: 54px;
  578. display: -webkit-box;
  579. -webkit-box-orient: vertical;
  580. -webkit-line-clamp: 2;
  581. overflow: hidden;
  582. text-overflow: ellipsis;
  583. word-break: break-all;
  584. font-family: Source Han Sans, Source Han Sans;
  585. font-weight: 500;
  586. font-size: 18px;
  587. color: #333333;
  588. line-height: 26px;
  589. text-align: left;
  590. font-style: normal;
  591. text-transform: none;
  592. }
  593. >p {
  594. width: 200px;
  595. height: 22px;
  596. line-height: 20px;
  597. position: absolute;
  598. bottom: 5px;
  599. right: 0;
  600. >span {
  601. display: inline-block;
  602. // width: 100px;
  603. height: 18px;
  604. font-family: Source Han Sans, Source Han Sans;
  605. font-weight: 400;
  606. font-size: 12px;
  607. color: #999999;
  608. text-align: left;
  609. line-height: 14px;
  610. font-style: normal;
  611. text-transform: none;
  612. }
  613. >span:last-child {
  614. // width: 90px;
  615. text-align: right;
  616. margin-left: 20px;
  617. }
  618. }
  619. }
  620. }
  621. >li {
  622. width: 380px;
  623. height: 25px;
  624. white-space: nowrap;
  625. overflow: hidden;
  626. text-overflow: ellipsis;
  627. font-family: PingFang SC, PingFang SC;
  628. font-weight: 500;
  629. font-size: 18px;
  630. color: #333333;
  631. line-height: 21px;
  632. text-align: left;
  633. font-style: normal;
  634. text-transform: none;
  635. margin-bottom: 10px;
  636. em {
  637. display: inline-block;
  638. width: 8px;
  639. height: 8px;
  640. border-radius: 8px;
  641. margin-right: 10px;
  642. background-color: #d9d9d9;
  643. }
  644. }
  645. >li:hover {
  646. color: #a01c0e;
  647. }
  648. >li:hover em {
  649. background-color: #a01c0e;
  650. }
  651. }
  652. }
  653. }
  654. .innerRight {
  655. width: 381px;
  656. height: 290px;
  657. background-color: #fbfbfb;
  658. >.title {
  659. width: 380px;
  660. height: 40px;
  661. line-height: 40px;
  662. border-top: 1px solid #a01c0e;
  663. border-bottom: 1px solid #e7e7e7;
  664. >h4 {
  665. font-family: Microsoft YaHei, Microsoft YaHei;
  666. font-weight: 400;
  667. margin-left: 20px;
  668. font-size: 20px;
  669. color: #000000;
  670. text-align: left;
  671. font-style: normal;
  672. text-transform: none;
  673. >span {
  674. float: right;
  675. font-family: Microsoft YaHei, Microsoft YaHei;
  676. font-weight: 400;
  677. font-size: 14px;
  678. margin-right: 10px;
  679. color: #999999;
  680. text-align: left;
  681. font-style: normal;
  682. text-transform: none;
  683. }
  684. }
  685. }
  686. .rightList {
  687. height: 540px;
  688. margin-top: 20px;
  689. >li {
  690. height: 100px;
  691. margin-bottom: 10px;
  692. >img {
  693. width: 150px;
  694. height: 100px;
  695. }
  696. >p {
  697. width: 219px;
  698. height: 100px;
  699. padding-left: 12px;
  700. font-family: PingFang SC, PingFang SC;
  701. font-weight: 400;
  702. font-size: 16px;
  703. color: #333333;
  704. line-height: 22px;
  705. text-align: left;
  706. font-style: normal;
  707. text-transform: none;
  708. }
  709. >p:hover {
  710. box-shadow: 0 0 16px 1px rgba(0, 0, 0, 0.1);
  711. }
  712. }
  713. }
  714. }
  715. }
  716. </style>